/**
@file     	DESIGNPATTERN_ConcreteFlyweight.cpp
@brief    	1.When the algorithm to create complex object should be independent of the part of the object,
as well as their assembly;
2.When construction process must be allowed to construct the object is different;
@author  	arvin
@version 	1.0   2012/12/20
*/

#include "stdafx.h"

#ifndef CXX_DESIGNPATTERN_CONCRETEFLYWEIGHT_H
#include "DESIGNPATTERN_ConcreteFlyweight.h"
#endif

/**
* Construction
*
* @param const string& strIntrinsicState
* @return
*/
ConcreteFlyweight::ConcreteFlyweight(const string& strIntrinsicState) :
	Flyweight(strIntrinsicState)
{
	DEBUG_PRINTF("");
}

/**
* Destruction
*
* @param VOID
* @return
*/
ConcreteFlyweight::~ConcreteFlyweight()
{
	DEBUG_PRINTF("");
}

/**
* PrintList
*
* @param VOID
* @return VOID
*/
VOID
ConcreteFlyweight::Operation()
{
	DEBUG_PRINTF("");
}

/**
* GetIntrinsicState
*
* @param VOID
* @return string
*/
string
ConcreteFlyweight::GetIntrinsicState()
{
	DEBUG_PRINTF("");
	return m_strIntrinsicState;
}

/**
* GetIntrinsicState
*
* @param const string& strIntrinsicState
* @return VOID
*/
VOID
ConcreteFlyweight::SetIntrinsicState(const string& strIntrinsicState)
{
	DEBUG_PRINTF("");
	m_strIntrinsicState = strIntrinsicState;
}
/* EOF */